import java.util.Random;
import java.util.Scanner;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: WHY
 * Date: 2022-04-26
 * Time: 9:53
 */

/**
 *
 * 猜数字游戏
 */

/**
 * 方法调用实现代码求两数和
 */


/**
 * 求阶乘
 */
public class TestDemo {
    public static int fac(int n) {
        int ret = 1;
        for (int i = 1; i <= n; i++) {//这段代码是实现某个数的阶乘
            ret *= i;
        }
        return ret;
    }

    /**
     * 求1！+2！+......+k！
     * @param k
     * @return
     */
    public static int facSum(int k) {
        int sum = 0;
        for (int i = 1; i <= k; i++) {//这段代码是实现几个数的阶乘和的代码
            sum += fac(i);
        }
        return sum;
    }

    public static void main(String[] args) {//调用
        System.out.println(facSum(5));//5就是有几个数的和
    }

        /**
         * 求1！+2！+......+k！
         * @param k
         * @return
         */

    }







    public static int add(int a, int b) {
        System.out.println("正在调用add()");
        return a+b;
    }


    public static void main10(String[] args) {
        int a=10;
        int b=20;
        int ret=add(a,b);
        System.out.println(ret);
    }
    public static void main9(String[] args) {


        Scanner scanner = new Scanner(System.in);
        Random random = new Random(5220);//这里的seed和bound是系统自动生成的。
        int randNum = random.nextInt(101);//[0,101)==>[0,100]
        System.out.println("随机数是" + randNum);//生成的随机数是不一样的，是根据时间戳来生成的

        //int randNum = random.nextInt(100)+1;//[1,101)  数学的思维：50-100
        // int rand = (int) Math.random();
        //int randNum = random.nextInt();
        while (true) {
            System.out.println("请输入你要猜的数字：");
            int num = scanner.nextInt();
            if (num < randNum) {
                System.out.println("猜小了！");
            } else if (num == randNum) {
                System.out.println("猜对了！");
                break;
            } else {
                System.out.println("猜大了！");
            }
        }

    }





    public static void main8(String[] args) {
        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入你的姓名");
        String str=scanner.nextLine();//读入一个字符串
        System.out.println(str);


        System.out.println("请输入你的年龄");
        int age=scanner.nextInt();//读入一个整数
        System.out.println(age);


        System.out.println("请输入你的工资");
        float money=scanner.nextFloat();//读入一个浮点数
        System.out.println(money);


    }

    /**
     * 描述了Java中输出的几个表达
     * @param args
     */
    public static void main7(String[] args) {
        System.out.println("输出且换行！");
        System.out.print("输出且不换行！");
        System.out.printf("%s\n","真的没换行吗?");
    }

    /**
     * 求5的阶乘的和=1！+2！+3！+4！+5！
     * @param args
     */
    public static void main6(String[] args) {

        int j = 1;
        int sum = 0;
        while (j <= 5) {
            int i = 1;
            int ret = 1;
            while (i <= j) {
                ret = ret * i;
                i++;
            }
            sum += ret;
            j++;
        }
        System.out.println(sum);
    }


    /**
     * 算出1-100间1-100的和，偶数和，奇数和
     * @param args
     */
    /**
     * 算出5！的阶乘
     * @param args
     */
    public static void main5(String[] args) {
        int i = 1;
        int ret = 1;
        while (i <= 5) {
            ret = ret * i;
            i++;
        }
        System.out.println(ret);
    }
    public static void main4(String[] args) {
        int sum = 0;//保存1-100的和
        int sumEve = 0;//保存1-100偶数的和
        int sumOdd = 0;//保存1-100奇数的和

        int i = 1;
        while (i <= 100) {
            sum += i;
            i++;
        }
        i = 2;//重新要赋值  上面已经加到了101了
        while (i <= 100) {
            sumEve += i;
            i+=2;//步进
        }
        i = 1;//重新要赋值
        while (i <= 100) {
            sumOdd += i;
            i+=2;//步进  不仅仅是i++;
        }
        System.out.println(sum);
        System.out.println(sumEve);
        System.out.println(sumOdd);

    }
    public static void main3(String[] args) {
        String  a = "hello";//字符串是可以的  以后学习的枚举也是可以的
        //int a = 10;
        switch (a) {
            case "hello":
                System.out.println("hello");
                break;
            case "hello2":
                System.out.println("2");
                break;
            default:
                System.out.println("输入错误！");
                break;
        }
    }
    public static void main2(String[] args) {
        Scanner scan = new Scanner(System.in);
        //处理数据的多组输入
        while (scan.hasNext()) {
            int year = scan.nextInt();
            if (year % 100 == 0) {
                if (year % 400 == 0) {
                    System.out.println(year + "是闰年");
                } else {
                    System.out.println(year + "不是闰年");
                }
            }
                else{
                    if (year % 4 == 0) {
                        System.out.println(year + "是闰年");
                    } else {
                        System.out.println(year + "不是闰年");
                    }
                }
            }
        }





    public static void main1(String[] args) {
        int x=10;
        int y=20;
        if(x==20)
            if (y==20)
                System.out.println("you are a pig");

            else
                System.out.println("you are not a pig");




    }
}
